const axios = require('axios');

async function testSocial() {
  try {
    console.log('测试社交接口...\n');

    // 1. 先登录获取token
    console.log('1. 登录获取token...');
    const loginResponse = await axios.post('http://localhost:7002/api/v1/user/login', {
      username: 'demo',
      password: '123456'
    });

    if (loginResponse.data.code !== 200) {
      console.log('❌ 登录失败');
      return;
    }

    const token = loginResponse.data.data.token;
    console.log('✅ 登录成功');

    const authHeaders = {
      'Authorization': `Bearer ${token}`
    };

    // 2. 测试公开搭配接口（之前有关联错误）
    console.log('\n2. 测试公开搭配接口...');
    try {
      const response = await axios.get('http://localhost:7002/api/v1/social/public-outfits?page=1&pageSize=5');
      console.log('✅ 公开搭配接口正常工作');
      console.log('响应数据:', JSON.stringify(response.data, null, 2));
    } catch (error) {
      console.log('❌ 公开搭配接口错误:');
      if (error.response) {
        console.log('状态码:', error.response.status);
        console.log('错误信息:', JSON.stringify(error.response.data, null, 2));
      } else {
        console.log('网络错误:', error.message);
      }
    }

    // 3. 测试社交动态接口（需要认证）
    console.log('\n3. 测试社交动态接口...');
    try {
      const response = await axios.get('http://localhost:7002/api/v1/social/feed?page=1&pageSize=5', {
        headers: authHeaders
      });
      console.log('✅ 社交动态接口正常工作');
      console.log('响应数据:', JSON.stringify(response.data, null, 2));
    } catch (error) {
      console.log('❌ 社交动态接口错误:');
      if (error.response) {
        console.log('状态码:', error.response.status);
        console.log('错误信息:', JSON.stringify(error.response.data, null, 2));
      } else {
        console.log('网络错误:', error.message);
      }
    }

    // 4. 测试用户偏好接口（需要认证）
    console.log('\n4. 测试用户偏好接口...');
    try {
      const response = await axios.get('http://localhost:7002/api/v1/user/preferences', {
        headers: authHeaders
      });
      console.log('✅ 用户偏好接口正常工作');
      console.log('响应数据:', JSON.stringify(response.data, null, 2));
    } catch (error) {
      console.log('❌ 用户偏好接口错误:');
      if (error.response) {
        console.log('状态码:', error.response.status);
        console.log('错误信息:', JSON.stringify(error.response.data, null, 2));
      } else {
        console.log('网络错误:', error.message);
      }
    }

    console.log('\n=== 测试完成 ===');

  } catch (error) {
    console.error('❌ 测试过程中发生错误:', error.message);
  }
}

testSocial();
